﻿using System;
using System.Collections.Specialized;

namespace PicturePortfolio.Logging
{
    public interface ILogger
    {
        void LogAlways(string message, object arg1, object arg2, object arg3);
        void LogAlways(string message, object[] args);
        void LogAlways(string message, object arg1, object arg2);
        void LogAlways(string message);
        void LogAlways(string message, object arg1);
        void LogDebug(string message, object arg1);
        void LogDebug(string message);
        void LogDebug(string message, object arg1, object arg2);
        void LogDebug(string message, object[] args);
        void LogDebug(string message, object arg1, object arg2, object arg3);
        void LogError(Exception ex, string error);
        void LogError(Exception ex, NameValueCollection error);
        void LogError(string message, object arg1, object arg2);
        void LogError(string message, object arg1, object arg2, object arg3);
        void LogError(string message, object[] args);
        void LogError(Exception ex);
        void LogError(string message);
        void LogError(string message, object arg1);
        void LogInfo(string message, object arg1, object arg2);
        void LogInfo(string message, object arg1, object arg2, object arg3);
        void LogInfo(string message, object[] args);
        void LogInfo(string message, object arg1);
        void LogInfo(string message);
        void LogWarning(string message, object arg1);
        void LogWarning(string message);
        void LogWarning(Exception ex, string error);
        void LogWarning(string message, object arg1, object arg2);
        void LogWarning(Exception ex);
        void LogWarning(string message, object[] args);
        void LogWarning(string message, object arg1, object arg2, object arg3);
    }
}
